home *** CD-ROM | disk | FTP | other *** search
- #ifdef DEBUGinterp
- char opstrings[][40] = {
- "OpTrouble",
- "OpGetFreeW",
- "OpTuple_0",
- "OpTrue",
- "OpFalse",
- "OpInt",
- "OpNo"Op",
- "OpExport",
- "OpImport",
- "OpNewSubscr",
- "OpVar0",
- "OpVar1",
- "OpTuple",
- "OpVariant",
- "OpRef",
- "OpFst",
- "OpSnd",
- "OpHd",
- "OpTl",
- "OpNull",
- "OpOutl",
- "OpOutr",
- "OpIs0",
- "OpIs1",
- "OpQuaDot",
- "OpNewUpdate",
- "OpQuaIs",
- "OpQuaAs",
- "OpDestVariant",
- "OpCase",
- "OpNot",
- "OpAnd",
- "OpOr",
- "OpNeg",
- "OpPlus",
- "OpDiff",
- "OpTimes",
- "OpDivide",
- "OpIntDiv",
- "OpMod",
- "OpEq",
- "OpEqBool",
- "OpEqInt",
- "OpEqString",
- "OpGreater",
- "OpLess",
- "OpGreatEq",
- "OpLessEq",
- "OpExplode",
- "OpImplode",
- "OpExpAscii",
- "OpImpAscii",
- "OpStringOfInt",
- "OpIntOfString",
- "OpAt",
- "OpAssign",
- "OpJumpW",
- "OpTrueJumpW",
- "OpFalseJumpW",
- "OpExecute",
- "OpClosure",
- "OpDumClosure",
- "OpRecClosure",
- "OpGetLocalW",
- "OpPop",
- "OpIncRef",
- "OpSqueezeW",
- "OpDecRef",
- "OpDestNil",
-
- "OpReturn",
- "OpSaveFrame",
- "OpApplFrame",
- "OpRestFrame",
- "OpTailApply_n1",
- "OpFunId",
- "OpFunComp",
- "OpNotImmed",
- "OpPrintObj",
- "OpUnTrap",
-
-
- "OpStopProcess",
- "OpTuple_2",
-
- "OpCollect",
- "OpPrintNull",
- "OpPrintBool",
- "OpPrintInt",
- "OpPrintString",
- "OpOutString",
- "OpPrompt",
- "OpSystem",
- "OpSqueeze1",
- "OpReturn1",
- "OpTailApply_11",
- "OpTailApply_0n",
- "OpTailApplyW",
- "OpGetLiteralW",
- "OpStringLength",
- "OpSubString",
- "OpArray",
- "OpSize",
- "OpSubscr",
- "OpUpdate",
- "OpStringLEQ",
- "OpStringLSS",
- "OpStringGEQ",
- "OpStringGTR",
- "OpReadLine",
- "OpLookahead",
- "OpSmashProcess",
- "OpListLength",
- "OpOrd",
- "OpMakeText",
- "OpStoreTextByte",
- "OpStoreTextWord",
- "OpStoreTextLong",
- "OpArrayOfList",
- "OpBAFetch",
- "OpBAStore",
- "OpGetLoc0",
- "OpGetLoc1",
- "OpStringHash",
- "OpEqRef",
- "OpBpt",
- "OpCurrentProcess",
- "OpNewProcess",
- "OpSuspendProcess",
- "OpWaitForProcess",
- "OpBigVar",
- "OpXConClosure",
- "OpIncRefAt",
- "OpObjComp",
- "OpDestBigVar",
- "OpNewRaise",
- "OpNewHandle",
- "OpBind",
- "OpScanStringWhileIn",
- "OpScanStringUntilIn",
- "OpVariantObject",
-
-
- "OpClosure1",
- "OpDumClosure1",
- "OpSpawnProcess",
-
- "OpRescheduleProcess",
- "OpNewState",
- "OpSmashState",
- "OpCurrentState",
-
- "OpWaitForProcesses",
- "OpSynchronise",
- "OpRandomMerge",
- "OpExportCurrentState",
- "OpMoveSubstring",
- "OpStringOfLength",
- "OpOldScanStringUntilIn",
- "OpOldScanStringWhileIn",
- "OpCpuTime",
- "Op"OpenStream",
- "OpCreateStream",
- "OpReadStream",
- "OpReadToString",
- "OpWriteStream",
- "OpCloseStream",
- "OpInteractive",
- "OpReturn0",
- "OpDestTuple",
- "OpDestTuple_n0",
- "OpDestQCons",
- "OpSlideW",
- "OpChangeDir",
- "OpNth",
- "OpRev",
- "OpTupleOfList",
- "OpDestTuple_20",
- "OpCurrClos",
- "OpByteNum",
- "OpFPlus",
- "OpFDiff",
- "OpFTimes",
- "OpFDivide",
- "OpFNeg",
- "OpFEql",
-
- "OpFGeq",
- "OpFGtr",
- "OpFLeq",
- "OpFLss",
- "OpReal",
- "OpFloor",
- "OpStringOfReal",
- "OpRealOfString",
- "OpPrintReal",
- "OpDestInt",
- "OpDestReal",
- "OpCaseVal",
- "OpTailApply_n0",
- "OpDestString",
-
- "OpPopTrap",
- "OpGetLocalB",
- "OpGetLiteralB",
- "OpGetLiteral1",
- "OpGetFreeB",
- "OpGetFree1",
- "OpSqueezeB",
- "OpSlideB",
- "OpTailApplyB",
- "OpJumpB",
- "OpFalseJumpB",
- "OpTrueJumpB",
- "OpDestTailApply",
- "OpTrace",
- "OpSqrt",
- "OpSin",
- "OpCos",
- "OpArctan",
- "OpExp",
- "OpLn",
- "OpFetchByte",
- "OpUniqueStamp",
- "OpStampOfFile",
- "OpGetEnv",
- "OpStoreByte",
- "OpFlush",
- "OpFUpPlus",
- "OpFUpDiff",
- "OpFUpTimes",
- "OpFUpDivide",
- "OpReRaise",
- "OpRaiseMatch",
- "INVALID_OPCODE"} ;
-
-
- int opcode[] = {
-
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 82,
- 83,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 99,
- 100,
- 101,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 146,
- 147,
- 148,
- 150,
- 151,
- 152,
- 153,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 191,
- 192,
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 206,
- 207,
- 208,
- 209,
- 210,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223,
- 224,
- 225,
- 226,
- 227,
- 228,
- 229,
- 230,
- 231,
- 232,
- 233,
- 234,
- 235,
- 253,
- 254,
- -1 };
-
-
- #include <stdio.h>
- #include "bcodes.h"
- #include "debug.h"
- #define OPCODE(i) opcode[i]
- #define OPSTRINGS(i) opstrings[i]
-
- dumpcode()
- {
- int i;
- int j;
- FILE *OpFile ;
-
- OpFile = fopen(OpNameFile,"w") ;
- for (i=1;i<NumByteCodes;i++) {
- for (j=0;(OPCODE(j)!=(-1));j++) {
- if (i == OPCODE(j)) break ;
- }
- fprintf(OpFile,"Static %40.40s\t%d\t%d\n",OPSTRINGS(j),
- OpcodeCount[i],i) ;
- fprintf(OpFile,"Dynamic %40.40s\t%d\t%d\n",OPSTRINGS(j),
- DynamicOpcodeCount[i],i) ;
- }
- fclose(OpFile) ;
- }
- #endif
-